#!/usr/bin/python3
# -*- coding:utf-8 -*-
#######################################################
# Author: liangliangSu
# Created Time: 2024-08-17 10:59
# Email: sll917@outlook.com
# Version: V1.0
# File Name: 07_机器学习-散点图.py
#######################################################
#散点图（Scatter Plot）
#散点图是数据集中的每个值都由点表示的图。
#Matplotlib 模块有一种绘制散点图的方法，它需要两个长度相同的数组，
#一个数组用于 x 轴的值，另一个数组用于 y 轴的值：
#x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
#y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
#x 数组代表每辆汽车的年龄。
#y 数组表示每个汽车的速度。
print('(1)*** ***')
#请使用 scatter() 方法绘制散点图：
import matplotlib.pyplot as plt
x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
plt.scatter(x, y)
plt.show()
#散点图解释
#x 轴表示车龄，y 轴表示速度。
#从图中可以看到，两辆最快的汽车都使用了 2 年，最慢的汽车使用了 12 年。
#注释：汽车似乎越新，驾驶速度就越快，但这可能是一个巧合，毕竟我们只注册了 13 辆汽车。

#随机数据分布
#在机器学习中，数据集可以包含成千上万甚至数百万个值。
#测试算法时，您可能没有真实的数据，您可能必须使用随机生成的值。
#正如我们在上一章中学到的那样，NumPy 模块可以帮助我们！
#让我们创建两个数组，它们都填充有来自正态数据分布的 1000 个随机数。
#第一个数组的平均值设置为 5.0，标准差为 1.0。
#第二个数组的平均值设置为 10.0，标准差为 2.0：
print('(2)*** ***')
#有 1000 个点的散点图：
import numpy
import matplotlib.pyplot as plt
x = numpy.random.normal(5.0, 1.0, 1000)
y = numpy.random.normal(10.0, 2.0, 1000)
plt.scatter(x, y)
plt.show()

#散点图解释
#我们可以看到，点集中在 x 轴上的值 5 和 y 轴上的 10 周围。
#我们还可以看到，在 y 轴上扩散得比在 x 轴上更大。
